草庐IT

strings 包

全部标签

Java String.replaceAll 不会用转义引号替换引号

很难用转义引号替换引号。我有一个值为'Foo"bar"foobar'的字符串,我试图用转义引号替换bar周围的引号,但它不起作用。我快疯了。s=s.replaceAll("\"","\\\"");我希望s具有'foo\"bar\"foobar'的值,但它没有。有帮助吗? 最佳答案 replaceAll使用正则表达式-其中反斜杠只是转义下一个字符,即使在替换中也是如此。使用replace相反,它很好......或者如果你想使用正则表达式形式,你可以在第二个参数中加倍反斜杠:Stringafter=before.replaceAll("

java - 检查 Object 是否是 String、HashMap 或 HashMap[] 的实例

我在Java中有一个对象。有没有办法在实际将对象强制转换为String、HashMap或HashMap[]之前检查对象是否是这些对象的实例?如果不是,因为上面的方法似乎违反直觉,是否有办法将其转换为每个对象,并测试有关新转换的对象的某些内容,以查看它实际上是否是转换对象的类型? 最佳答案 是的:if(objinstanceofString){Stringstr=(String)obj;...}顺便说一下,澄清一下:[…]testsomethingaboutthenewlycastedobjecttoseeifitsinfactthe

java - 使用标准 main(String [] args) 方法运行单个 java 文件 - Android Studio

首先-是的,我知道这很疯狂/奇怪。但我需要它:)。我想在AndroidStudio中找到运行单个java文件的最简单方法(并且更喜欢非终端答案:)-如果可能的话)。我的意思是来self的Android项目的随机.java文件,我将在其中编写main(..)方法。还有一件事:我不想创建任何新模块(我已经看到有关添加Java库模块的答案)。我只想单击某些内容并运行我的(单个)文件,就像我在Eclipse中那样。可能吗? 最佳答案 有一件事可能让你感到困惑,就像让我感到困惑一样:如果有启动Java应用程序的标准方法publicstatic

java - 如何在java中替换 "(double quotes) in a string with\"

我的字符串变量strVar的值为'"value1"',我想用'\"'替换值中的所有双引号。所以之后替换值看起来像'\"value1\"'如何在Java中执行此操作?请帮助我。 最佳答案 你在找str=str.replace("\"","\\\"")DEMO我会避免使用replaceAll,因为它使用正则表达式语法来描述要替换的内容和如何替换,这意味着\必须在字符串"\\"而且在正则表达式\\中(需要写成"\\\\"字符串)这意味着我们需要使用str=str.replaceAll("\"","\\\\\"");或者可能是小清洁工:st

java - String.intern() 线程安全吗

我想在Java中使用String.intern()来节省内存(对具有相同内容的字符串使用内部池)。我从不同的线程调用这个方法。有问题吗? 最佳答案 对您的问题的简短回答是肯定的。它是线程安全的。但是,您可能需要重新考虑使用此工具来减少内存消耗。原因是您无法从驻留字符串列表中删除任何完整内容。更好的解决方案是为此创建您自己的设施。您只需要将字符串存储在HashMap中即可。像这样:publicStringgetInternedString(Strings){synchronized(strings){Stringfound=strin

java - "string-free coding"是一个常用术语吗?

最近接触到了Empire-db。项目文档。声明他们正在使用“string-freecoding”,旨在尽可能少地使用常量字符串以避免拼写错误并使用编译器的力量。我一直是这个原则的忠实拥护者,因为我认为Java是一种形式语言,它可以表达属性或xml等配置,并通过编译器检查提供额外的值(value)。也许在运行时,无需重新编译即可进行更改的可能性较小,但这取决于具体情况。您现在是否对这个术语/原则/设计模式有更多的引用或阅读? 最佳答案 这与魔数(MagicNumber)与常量相同。使用常量提高了可维护性和可读性。常量还封装了变化:常量

java - String.replace 的实现真的高效吗?

我曾经认为String.replace比String.replaceAll快,因为后者使用Patternregex而前者没有。但实际上无论是性能上还是实现上都没有显着差异。就是这样:publicStringreplace(CharSequencetarget,CharSequencereplacement){returnPattern.compile(target.toString(),Pattern.LITERAL).matcher(this).replaceAll(Matcher.quoteReplacement(replacement.toString()));}这里用Patte

java.lang.NoSuchMethodError : org. slf4j.spi.LocationAwareLogger.log(Lorg/slf4j/Marker;Ljava/lang/String;ILjava/lang/String;[Ljava/lang/Obje

我是maven、spring、嵌入式glassfish、依赖冲突的新手(我不知道如何查看它们以及如何解决它们)...而且我无法单独解决这个问题,即使我我花了几个小时尝试。我没有遇到嵌入式tomcat7的这个问题,但我遇到了嵌入式glassfish我用从eclipse运行“运行配置”嵌入式maven运行时3.0.4/1.4.0,目标:清理包embedded-glassfish:runjre:jdk-7u51感谢您花时间帮助解决问题。Grave:WebModule[/myapp]StandardWrapper.Throwablejava.lang.NoSuchMethodError:org

java.lang.Long 无法在 Java 中转换为 java.lang.String

我收到的回复是这样的:[{Id=1066276530,Key1=1815401000238},{Id=1059632250,Key1=1815401000244}]当我迭代并将值转换为字符串时,它会抛出错误:java.lang.Longcannotbecasttojava.lang.StringinJavafor(Mapmap:leadIds){for(Map.Entryentry:map.entrySet()){StringapplicationNumber=(String)entry.getValue();}}我想将值转换成字符串。这里有什么问题吗? 最

java - java 是否提供内置的静态 String.Compare 方法?

在比较字符串时,我不喜欢依赖实例方法,以免调用该方法的字符串恰好为空。在.NET中,我只使用静态String.Compare(string,string,bool)方法。Java是否提供类似的内置“空安全”字符串比较实用程序,还是我必须实现自己的实用程序? 最佳答案 不,JDK不包含此类实用程序。然而,有几个外部库可以做到这一点。例如org.apache.commons.lang.StringUtils提供空安全的equals(String,String)和equalsIgnoreCase(String,String)。Guava也